package StringAlgorithm;

import java.util.ArrayList;
import java.util.List;

public class leet_151 {
    public static void main(String[] args) {


        Solution_151 p = new Solution_151();
        String s = "the sky is blue";
        String result  = p.reverseList(s);
        System.out.println(result);

    }
}

class Solution_151 {
    public String reverseWords(String s) {
        return null;
    }

    /**
     * 不为空格改变boolean类型开始添加
     * @param s
     * @return
     */
    public String reverseList(String s){
        List<String> list = new ArrayList<>();
        int i=0;
        while(i<s.length()){
            StringBuffer tmpS = new StringBuffer();
            // 不为空格
            if( !Character.isWhitespace(s.charAt(i)) ){
                // 当发现第一个字符不为空格时 进入内部循环
                for(int j=i; j<s.length(); j++){
                    // 遇到空格为止
                    if( Character.isWhitespace(s.charAt(j))){
                        // 把指针拨到已经遍历的位置
                        list.add(tmpS.toString());
                        i = j;
                        break;
                    }else if(j==s.length()-1){
                        // 最后一个是字母不是空格先把这个字母加入
                        tmpS.append(s.charAt(j));
                        list.add(tmpS.toString());
                        i = j;
                        break;
                    }
                    tmpS.append(s.charAt(j));
                }
            }
            i++;
        }
        // for 循环List
        StringBuffer result = new StringBuffer();
        for(int j=list.size()-1; j>-1; j--){
            if(j==0){
                result.append(list.get(j));
            }else{
                result.append(list.get(j));
                result.append(" ");
            }
        }

        return result.toString();
    }

}

